home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Forever 4
/
Atari Forever 4.zip
/
Atari Forever 4.iso
/
FALCON
/
DEMOSRGB
/
FD_RGB06
/
U_TRACK
/
DOCS
/
FRANCAIS.TXT
< prev
Wrap
Text File
|
1998-03-14
|
23KB
|
491 lines
Ultimate Tracker 2.0
* Un logiciel Retour 2048 *
Par : - Checksum of Equinox (adaptation Amiga)
- Edy of Equinox (adaptation Falcon)
- Sharp Man of The Black Cats (Programme)
_______________________________________________________________
Documentation Française
_______________________________________________________________
1. Introduction
= ============
Ce programme joue des modules Amiga (ou Atari) soundtracker,
Noisetracker ou Protracker 1.2. Il fonctionne sur tous les
Atari équipés d'un circuit sonore en DMA (STe, Mega STe, TT ou
Falcon). Il peut être utilisé aussi bien en tant que programme
normal qu'en tant qu'accessoire de bureau.
Depuis la version 2.0, le player utilise l'interruption MFP i7
à la place du Timer A. Donc maintenant, tous les timers sont
libres (particulièrement le timer utilisé par l'AES dans
evnt_timer).
2. Comment fonctionne-t-il ?
= =========================
Il y a trois façons de lancer ce programme :
Comme un programme normal (l'extension est .PRG ou .APP)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Cliquez simplement sur l'icône du player pour le lancer. Quand
le programme est chargé, le player s'affiche dans une fenêtre
GEM. Il y a aussi un menu GEM pour accéder aux accessoires de
bureau (comme le gestionnaire de son en CPX). Vous pouvez
charger un module ou quitter le programme directement grâce à
ce menu.
Comme un programme GEM nécessitant des paramètres (.GTP)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Cliquez sur l'icône du player pour le lancer. Une boîte de
dialogue apparaît alors et vous demande d'entrer des
paramètres. Les paramètres sont le chemin et le nom d'un
module, tapez les et appuyez sur return. Le player va charger
et jouer le module automatiquement. Si vous tapez return sans
tapez quoi que ce soit, le programme agira comme si il
s'agissait d'un programme GEM normal. Notez que vous pouvez
déplacer l'icône d'un module et la lacher sur l'icône du
player, le player chargera et jouera ce module. (Cette
dernière possibilité n'est possible que pour un TOS dont la
version est supérieure à 1.62). Grâce à cette possibilité,
vous pouvez installer le player comme une application pour les
fichiers *.MOD dans le menu "options" du bureau. Quand vous
cliquerez sur un module, le player le jouera automatiquement.
Comme un accessoire de bureau (l'extension est .ACC)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Installez le player à la racine de votre disque de boot et
rebootez l'ordinateur, le player sera automatiquement chargé,
vous pouvez alors l'appeler à partir de n'importe quelle
application. De plus, vous pouvez jouer un module n'importe où
en tâche de fond. Cette possibilité n'est réalisable que si le
player est lancé en tant qu'accessoire. Vous pouvez utiliser
l'accessoire en tant qu'application pour les fichier *.MOD
grâce au programme "PLAY_ACC.GTP".
3. Petites explications
= ====================
1. Les icônes
~~~~~~~~~~~~~
Le player s'affiche dans une fenêtre GEM standard. Ses icônes
sont simples à comprendre, de gauche à droite :
Charger : Charge un module en mémoire. La taille du module
------- doit entrer dans le buffer (voir plus bas). Si le
programme est lancé comme un PRG, APP ou GTP, vous
pouvez aussi charger un module à partir du menu.
Le player peut charger des modules compactés avec
Pack Ice toute version (compacteur Atari), Power
Packer (compacteur Amiga) ou Noisepakker 1.0 de
Delta Force, il sera décompacté automatiquement
avant d'être joué. (Nouveau ! vous pouvez mainte-
nant charger des modules packés avec Power Packer
ou Noisepakker puis repackés ensuite avec Pack Ice
le taux de compactage pour Noisepakker+Ice est de
plus de 70% !!)
Retour : Revient en arrière dans la musique (saute à la
------ pattern précédente).
Jouer : Démarre la musique.
-----
Avance : Avance dans la musique (saute à la pattern suivan-
------ te).
Pause : Fait une pause dans la musique. Cliquez une
----- seconde fois sur cet icône pour redemarrer la
musique.
Stop : Stoppe la musique et efface le module de la
---- mémoire.
2. Les fréquences
~ ~~~~~~~~~~~~~~
Il y a quatre boutons sous les icônes, ces boutons vous
permettent de choisir la fréquence. Les fréquences disponibles
sont 6.25 KHz, 12.5 KHz, 25 KHz ou 50 KHz. Certaines fré-
quences ne sont pas disponibles sur toutes les machines. Sur
Falcon, 6.25Khz n'est pas disponible (le circuit DMA son du
Falcon ne peut restituer des sons à cette fréquence) et 50 Khz
n'est pas disponible si la vitesse du CPU est de 8 Mhz. 50 khz
n'est pas disponible sur STe ou MegaSTe. Sur MegaSTe, 50 Khz
est disponible si la vitesse du CPU est de 16Mhz et si le ca-
che est actif. Notez que plus la fréquence est élevée, plus le
son est bon mais plus la musique prend de temps machine.
C'est assez important de choisir la bonne fréquence si vous
utilisez le player comme un accessoire de bureau parce que les
autres applications en fonctionnement vont être plus ou moins
ralenties par le player. (Personnellement, je pense que 12.5
est une bonne valeur pour un STe (même si vous pouvez écouter
à 25), 25 pour un Mega STe ou Falcon030 et 50 pour un TT).
Attention: Il y a beaucoup de tests qui sont faits : selon la
machine et la vitesse du CPU, certaines fréquences ne sera pas
disponibles. Si vous utilisez un MegaSTe à 16 MHz et que vous
écoutez à 50KHz, si vous switchez la vitesse du CPU à 8MHz, la
fréquence passera automatiquement à 12.5 KHz et 50 KHz ne sera
plus disponible jusqu'à ce que la vitesse CPU repasse à 16MHz
de même que le Falcon : si vous écoutez à 50 KHz et que vous
coupez les caches du 68030, la fréquence va changer
automatiquement. Mais s'il-vous-plaît, ne jouez pas avec les
caches et la vitesse CPU pendant que le player est en train de
jouer.
3. Loop
~~~~~~~
Ce bouton switche le flag loop (en français dans le texte). Si
il est ON, le module sera rejoué quand il arrivera en fin, si
il est OFF, il sera arrêté et effacé de la mémoire.
4. Affichage de la position
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sous ces boutons, il y a un affichage graphique de la position
courante de la musique.
5. Les autres boutons
~ ~~~~~~~~~~~~~~~~~~
Sous ces 4 boutons (ou sous les icônes si vous utilisez un
Falcon), il y a 3 boutons :
-> Quit : Ferme la fenêtre du player et stoppe la musique.
-------- Cette musique est effacée de la mémoire. Si vous
utilisez le programme comme un PRG, APP ou GTP,
vous pouvez faire la même chose avec l'option QUIT
du menu FILE.
-> Play : Ce bouton est seulement disponible si le programme
-------- est un accessoire de bureau. Cliquer sur ce bouton
va fermer la fenêtre du player mais la musique
continue de jouer en tâche de fond.
Config: Ce bouton vous permet de configurer le player.
------ Vous pouvez changer la taille de la mémoire
allouée et le chemin par défaut pour les modules.
1. La taille du buffer
- -------------------
Pour charger un module, le programme réserve de la
mémoire quand il est lancé. Par défaut, la taille
est de 256000 octets. Vous pouvez diminuer ou
augmenter cette taille, mais notez que la nouvelle
valeur sera effective seulement la prochaine fois
que vous lancerez le programme car l'allocation
de mémoire est faite seulement une fois (quand
le programme démarre).
Quand vous cliquez sur ce bouton, une boîte de
dialogue apparaît et affiche dans la partie
supérieure la taille de la mémoire actuellement
réservée, tapez dans la partie inférieure la
taille que vous désirez et cliquez sur OK ou tapez
sur return.
2. Le chemin par défaut
- --------------------
Vous pouvez choisir le chemin où le player va
chercher les modules. Pour le choisir, cliquez sur
le bouton "Choose path", un selecteur de fichiers
apparaît pour cela. Le chemin sélectionné est
affiché dans une boîte. Si le chemin n'entre pas
dans la boîte, vous pourrez le visualiser en
clickant sur les boutons flêchés pour le faire
scroller.
Pour sauver ces paramètres, clickez sur OK (Cancel
pour quitter). Les nouveaux paramètres sont sauvés
directement dans le fichier du programme, c'est
pour cela qu'un sélecteur d'objet apparaît,
indiquez l'emplacement du fichier du player et
cliquez sur Confirme. Comme la taille est sauvée
directement dans le fichier du programme, vous ne
devez pas changer la structure de ce fichier, par
exemple, vous ne pouvez pas compacter le player.
En fait, vous pouvez compacter le player, mais
vous devrez le décompacter avant de modifier la
taille puis le recompacter après.
4. Ultimate Tracker et Multitos
= ============================
Ultimate Tracker fonctionne parfaitement avec Multitos sur
toutes les machines sur lesquelles je l'ai testé (STe, TT et
Falcon). Il fonctionne parfaitement avec des grands écrans et
des cartes graphiques (comme Spektrum). Les ressources
utiliseront les caractèristiques de l'AES du Multitos sur un
STe ou TT. Attention : ne modifiez pas les flags du programme
(avec le programme PRGFLAG.PRG), ce programme doit avoir le
bit "SUPER" mis à 1 parce qu'il utilise un timer sous
Multitos, si vous le mettez à zéro, le systême va se planter.
ATTENTION ! ne tuez jamais le process quand le player joue un
module car la mémoire utilisée par la routine en interruption
va être libérée sans prévenir le player. Stoppez la musique,
puis, tuez le processus.
5. Les commandes APPL_WRITE
= ========================
GEM offre un moyen de communiquer entre les applications au
travers d'un buffer d'évenements. Ceci permet à une
application de prendre le contrôle d'une autre. Ultimate
Tracker supporte ces commandes, donc, votre application peut
piloter le player. Comment cela fonctionne-t-il ?
Avant toute chose, le player doit être résident en mémoire.
La seule façcon de faire ceci est de l'installer comme
accessoire de bureau avec un TOS monotâche, vous pouvez le
lancer de la façon que vous désirez avec Multitos.
Puis, vous devez trouver l'identification AES du player, il y
a deux moyens de trouver cet id. La méthode "élégante" est
d'utiliser la fonction AES appl_find comme ceci :
id=APPL_FIND(nom) où nom est le nom du player sans son exten-
sion, attention, le nom doit faire 8 caractères. Cette fonc-
tion retourne l'id AES. Si vous ne connaissez pas le nom du
programme, il y a un autre moyen de procéder : le player,
quand il est installé, place un cookie dans le cookie jar. Ce
cookie est : "UTRK" et les données du cookie est l'id AES
courant. Faites attention et utilisez cette dernière méthode
pour trouver l'id AES si vous êtes sûr de ne pas le trouver
avec appl_find. Vous pouvez imaginer facilement les problèmes
si il y a plusieurs instances du player en mémoire, vous ne
pourrez pas savoir à qui appartient l'id AES retourné par
appl_find ou par le cookie jar.
1. Les commandes envoyées
~~~~~~~~~~~~~~~~~~~~~~~~~
Grâce à cet id AES, vous allez pouvoir contrôler le player ou
recevoir des messages de lui. Vous pouvez envoyer des comman-
des au player avec la fonction AES APPL_WRITE. APPL_WRITE de-
mande 3 paramètres : l'identification du player, le nombre
d'octets à envoyer au player et l'adresse d'un tableau d'en-
tiers (mot de 16bits) qui contient la commande à envoyer au
player.
Les commandes ont ce format :
- 1er mot : toujours égal à ID_TRACK (999)
- 2eme mot : numéro de la commande
- 3 - 8 : paramètres
Les commandes sont :
T_LOAD (900) : Charge un module dans le buffer du player.
L'adresse du chemin et du nom du module
est dans le 3eme et 4eme mots. (partie
faible dans le 3ème et forte dans le 4ème).
T_PLAY (901) : Joue le module chargé.
T_FORWARD (902) : Avance rapide.
T_REWIND (903) : Retour rapide.
T_PAUSE (904) : Pause.
T_STOP (905) : Stoppe la musique et l'efface de la mémoire.
T_ABOUT (906) : Affiche une boîte d'information.
T_OPEN (907) : Ouvre la fenêtre du player.
T_CLOSE (908) : Ferme la fenêtre du player.
T_FREQ (909) : Change la fréquence.
Le 3ème mot contient la fréquence (0-3).
T_LOOP (910) : Switche le flag loop ON/OFF.
T_IDENT (911) : Dit au player que l'application veut rece-
voir des messages du player. Le 3ème mot
contient l'id AES de l'application.
(voir paragraphe suivant).
T_FIDENT (912) : Dit au player que l'application ne veut
plus recevoir de message du player. (idem)
T_INFOS (913) : Demande des informations au player.
Voir le paragraphe suivant pour la recep-
tion de ces informations.
Pour voir comment utiliser ces commandes, jetez un oeil dans
le programme nommé \EXEMPLE\SHELL\CMD_TRAX.C. C'est un shell
qui contrôle le player.
Note: Si vous utilisez ceci sous Multitos, n'oubliez pas de
---- mettre la flag "GLOBAL" de votre application à 1,
parce que quand vous allez envoyer la commande T_LOAD
au player, le player va aller lire à l'adresse que
vous lui avez donné pour trouver le chemin du module,
mais cette adresse est située dans la mémoire de
votre application. Le flag "GLOBAL" permet au player
de lire dans la mémoire de votre application. Si ce
flag est off, Multitos va faire une erreur de
protection mémoire et va effacer le player de la
mémoire.
2. Messages reçus
~~~~~~~~~~~~~~~~~
Vous pouvez envoyer des commandes au player, mais vous pou-
vez recevoir des messages du player aussi. Ces messages di-
sent à l'application tout ce que fait le player. Pour rece-
voir ces messages, vous devez procéder de cette façon :
- Dire au player que nous voulons recevoir des messages avec
la commande T_IDENT. A partir du moment où le player re-
çoit ce message, il va envoyer les messages à l'app.
- Attendre les messages dans une boucle evnt_multi.
- Quand l'application n'a plus besoin des messages, envoyer
la commande T_FIDENT.
Ils ont ce format :
- 1er mot : toujours égal à ID_REPONSE (998)
- 2ème mot : numéro du message
- 3 - 8 : paramètres
Les messages sont :
R_PLAY (951) : Le module commence à être joué.
R_FORWARD (952) : Avance rapide.
R_REWIND (953) : Retour rapide.
R_PAUSE_ON (954) : La pause est activée.
R_PAUSE_OFF(955) : La pause est désactivée.
R_STOP (956) : Le module est stoppé et effacé.
R_OPEN (957) : La fenêtre du player est ouverte.
R_CLOSE (958) : La fenêtre du player est fermée.
R_FREQ (959) : La fréquence à changé (nouvelle fréquence
dans le 3ème mot).
R_LOOP_OFF (960) : Flag loop OFF.
R_LOOP_ON (961) : Flag loop ON.
R_BEGLOAD (962) : Un module est chargé. (Le mot 3 contient
la partie haute de l'adresse du nom du
module et le mot 4 la partie basse). Pour
accéder à ce nom sous MultiTOS, vous de-
vez être en superviseur, car le player a
son flag Super mis.
R_ENDLOAD (963) : Le module a été chargé sans erreur.
R_FAILOAD (964) : Erreur durant le chargement.
R_MOVE (965) : La fenêtre du player a été déplacée. Les
nouvelles positions X et Y sont dans les
mots 3 et 4.
R_INFOS (966) : Ce message est envoyé quand le player re-
çoit la commande T_INFOS.
mot 3 : handle fenêtre player.
mot 4 : handle graphique VDI.
mot 5 : Id AES.
mot 6 : Numéro de version majeur.
mot 7 : Numéro de version mineur.
R_POSIT (967) : Position courante de la musique.
mot 3 : position courante.
mot 4 : dernière position.
R_QUIT (968) : Le player est effacé de la mémoire.
R_ENDMOD (969) : Le module est terminé (seulement quand le
flag loop est OFF).
R_PROTECMOD(970) : Ce message est reçu quand le module char-
gé contient des informations corrompue,
il va être impossible de déterminer quand
le module va boucler, donc on ne pourra
pas reculer, avancer ou voir la position
de la musique.
Si vous avez besoin d'autres messages,dites le moi. Regardez
le programme EXEMPLE\RECEIVE\RECEIVE.C
Note: Si vous utilisez ceci sous MultiTOS, vous devez être
---- en mode superviseur si votre application accéde au nom
du module dans le message T_BEGLOAD parce ce que vous
voulez acceder à une adresse qui est située dans la
mémoire du player et cet espace mémoire à son flag
"Super" mis à 1. Donc cette mémoire peut seulement
être accédée en mode superviseur.
6. Limitations
= ===========
Il y a quelques limitations dans ce programme. Jusque mainten-
ant, il ne teste pas si le fichier chargé est un module ou
pas, si vous essayez de charger autre chose qu'un module, le
programme va se planter. Il y a parfois un bug sur le Falcon :
le player fait un bruit bizarre au lieu de jouer la musique.
Il semble que ce bug est résolu. De toute façon, pour éviter
ce problème, placez le programme nommé FPATCH.PRG dans votre
dossier AUTO, il corrige 2 bugs (et l'un d'entre eux est
l'initialisation du son, ceci est valable pour les TOS
inférieurs au TOS 4.05).
!!! SVP NE LANCEZ PAS DEUX INSTANCES DE CE PROGRAMME DANS LA
MEME CESSION. DES CHOSES GENANTES PEUVENT SE PRODUIRE (Pour-
quoi voulez-vous écouter deux modules en même temps ???)
7. Les sources
= ===========
Il y a trois sources données avec ce programme :
- SHELL : Un petit shell qui peut contrôler le player grâce
aux commandes appl_write. Utilisez le avec MintShell sous
MultiTOS ou avec un shell dans une fenêtre sous TOS.
- RECEIVE : Un exemple de programme qui affiche les messages
qui sont envoyés par le player à une application. Grâce à cet
exemple et au premier, vous pouvez voir comment faire une
communication dans les deux sens entre le player et une
application.
Pour voir comment ces programmes fonctionnent, utilisez les
simultanément sous MultiTOS avec MintShell (amusant !)/
- PLAY_ACC : Un programme qui vous permet d'utiliser le player
qui est un accessoire comme application pour les fichiers
.MOD. Installez ce programme dans le bureau comme application
et alors, chaque fois que vous cliquerez sur l'icône d'un
module, l'accessoire le chargera et le jouera.
Je ne diffuse pas les sources du player maintenant car il y a
encore des bugs à corriger er je veux refaire la gestion de la
mémoire.
CPU utilisé
~~~~~~~~~~~
J'ai fait des petits tests avec GEMBENCH pour voir combien de
temps CPU prenait le player. Les tests en été fait sur Falcon
en mode 736*560 en 16 couleurs :
12.5 Khz : 16 % du temps CPU
25 Khz : 27 %
50 Khz : 50 %
Pour nous contacter
~~~~~~~~~~~~~~~~~~
The Black Cats / Equinox
Châlet de Riqueval
02420 Bellicourt
France
3614 RTEL1/RTEL2 ou 3614 TEASER ou 3615 STMAG bal Sharpman
8. Historique
= ==========
v.1.0ß - Charge seulement et joe un module sur Falcon
v.1.1ß - Joue les modules en accessoire de bureau (accepte les
modules compactés avec Pack Ice).
v.1.2ß - Corrige beaucoup de bugs
v.1.4ß - Nouvelle interface graphique
v.1.5ß - Supporte Power Packer
v.1.6ß - Supporte les routines STe et TT
v.1.7ß - Fonctionne sous Multitos/supporte les cmdes APPL_WRITE
v.1.0 - Supporte AES 4.0 sur STe ou TT
v.1.1 - Supporte toutes les versions de Pack Ice et Noisepakker 1.0
v.1.2 - Permet de sauver le chemin par défaut
v.1.3 - Routine replay sur Falcon accélérée par NOP/DSP CREW (merci !!!)
v.1.4 - J'ai corrigé un tas de saloperies de bugs
v.1.5 - "Nouvelle" routine player
- Permet de changer la fréquence sur Falcon030
- Corrige des bugs d'affichage
- Utilise le cache du 030 sur TT et la mémoire cache
du MegaSTe
v.1.7 - Corrige un tas de bugs
v.2.0 - Permet la communication avec un shell dans les 2 sens
- Utilise l'int. MFP i7 au lieu du Timer A
- Affiche la position courante